import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String in = scan.nextLine();
//        max记录最长字符串的长度
//        count用来记录符合目标的本次遍历的数字数组的长度
//        用来记录一个数字数组的最后一位
        int max=0;
        int count=0;
        int end=0;
        for (int i = 0; i < in.length(); i++) {
//            判断指定位置的字符是否在0~9的范围内
            if(in.charAt(i)>='0'&&in.charAt(i)<='9'){
//                如果在就记录这个连续数字字符有几个
                count++;
//                将每次记录的个数传给max,当将一个连续的数字字符遍历完成之后，
//                遍历到下一个连续的数字字符的时候，将本次count记录的个个数和上一次的对比
                if(max < count){
                    max = count;
//                    end记录每次连续数字字符的最后一个下标
                    end=i;
                }
            }else{
                count = 0;
            }
        }
//        使用substring方法将目标字符串截取出来，由于end记录的是最长字符串的末尾元素下标，
//        max记录的是最长数字字符串的长度，end-max需要向前在走一位，这样就是目标字符串的起始位置
//        由于substring方法是一个左闭右开的方法，为了将end记录的元素显示出来，就需要将这个指针向后移一位。
        System.out.println(in.substring(end-max+1,end+1));
    }
    public static int MoreThanHalfNumSolution(int[] array){
//        先排序
        Arrays.sort(array);
//        在计算数组的长度的一半
        int half = array.length/2;
//        给定一个count用来计数
        int count = 0;
        for (int i = 0; i < array.length; i++) {
//            通过遍历排完序的数组，找到与数组中间元素相同的数字，记录一次
//            因为一个数组中的元素个数超过了数组长度的一般，一定中间的数字是数组中最多的
            if (array[i] == array[half]){
                count++;
            }
        }
//        当记录的一个数字等于中间的数字，并且大于数组长度的一般，那么这个数字就是数组中最多的
        if (count > half){
//            直接输出中间位置的元素
            return array[half];
        }else{
//            如果没有符合条件的就返回0
            return 0;
        }
    }
}

